#%RAML 1.0
title: Statisticalx code reference API
version: v1.1
protocols: [ HTTP, HTTPS ]
baseUri: http://localhost

documentation:
  - title: Statistical code reference API
    content: This documents the API calls that can be made to query and manage issuance modes of the system

types:
  issuanceMode: !include modeofissuance.json
  issuanceModes: !include issuancemodes.json
  errors: !include raml-util/schemas/errors.schema

traits:
  pageable: !include raml-util/traits/pageable.raml
  searchable: !include raml-util/traits/searchable.raml
  language: !include raml-util/traits/language.raml
  validate: !include raml-util/traits/validation.raml

resourceTypes:
  collection: !include raml-util/rtypes/collection.raml
  collection-item: !include raml-util/rtypes/item-collection.raml

/modes-of-issuance:
  type:
    collection:
      exampleCollection: !include examples/issuancemodes.json
      exampleItem: !include examples/modeofissuance.json
      schemaCollection: issuanceModes
      schemaItem: issuanceMode
  get:
    is: [
      searchable: {description: "with valid searchable fields", example: "name=aaa"},
      pageable
    ]
    description: Return a list of issuance modes
  post:
    description: Create a new mode of issuance
    is: [validate]
  delete:
    is: [language]
    description: "Delete all modes of issuance"
    responses:
      204:
        description: "All modes of issuance deleted"
      500:
        description: "Internal server error, e.g. due to misconfiguration"
        body:
          text/plain:
            example: "Internal server error, contact administrator"
  /{modeOfIssuanceId}:
    description: Pass in mode of issuance ID
    type:
      collection-item:
        exampleItem: !include examples/modeofissuance.json
        schema: issuanceMode
